1. Field of the Invention
This invention pertains to improvements in motor driving and controlling circuitry, and more particularly, to an improved circuit and method for detecting acceleration and deceleration rates of a brushless, sensorless, polyphase dc motor, or the like, and for providing profiles of acceleration and deceleration that can be used in the operation of the motor, particularly in determining variable noise masking and commutation delay periods.
2. Description of the Prior Art
Although the present invention pertains to polyphase dc motors, in general, it finds particular application in conjunction with three phase dc motors, particularly of the brushless, sensorless type. Three phase brushless, sensorless dc motors are becoming especially popular, due to their reliability, low weight, and accuracy.
Motors of this type can typically be thought of as having a stator with three coils connected in a "Y" configuration, although actually, a larger number of stator coils are usually employed with multiple motor poles. Typically, in such applications, eight pole motors are used having twelve stator windings and four N-S magnetic sets on the rotor, resulting in four electrical cycles per revolution of the rotor. The stator coils, however, can be analyzed in terms of three "Y" connected coils, connected in three sets of four coils, each physically separated by 90.degree.. In operation, the coils are energized in sequences in each of which a current path is established through two coils of the "Y", with the third coil left floating. The sequences are arranged so that as the current paths are changed, or commutated, one of the coils of the current path is switched to float, and the previously floating coil is switched into the current path. Moreover, the sequence is defined such that when the floating coil is switched into the current path, current will flow in the same direction in the coil which was included in the prior current path. In this manner, six commutation sequences are defined for each electrical cycle in a three phase motor.
In the past, during the operation of a such polyphase dc motor, it has been recognized that maintaining a known position of the rotor is an important concern. There have been various ways by which this was implemented. The most widely used way, for example, was to start the motor in a known position, then develop information related to the instantaneous or current position of the rotor. One source of such instantaneous position information was developed as a part of the commutation process, and involved identifying the floating coil, and monitoring its back emf, that is, the emf induced into the coil as it moves through the magnetic field provided by the stator.
When the voltage of the floating coil crossed zero (referred to in the art as "a zero crossing"), the position of the rotor was assumed to be known. Upon the occurrence of this event, the rotor coil commutation sequence was incremented to the next phase, and the process repeated. The assumption that the zero crossing accurately indicated the rotor position was generally if the motor was functioning properly.
As brushless, sensorless dc motors become more and more in demand, they are being increasingly used in such applications as in disk drives for use in computer applications, such as floppy disk, hard disk, CD ROM, and other similar applications. One of the main advantages provided by such brushless, sensorless motors is the absence of brush elements. This reduces the number of parts in the motor, reduces the mean time between failure of a particular motor, and has no sparking or other undesirable spurious emf generation properties.
However, especially in computer memory drive applications, a widespread problem has been recognized in startup of the disk drive motors. Many relatively sophisticated startup algorithms have been advanced in attempts to solve some of these problems. In motor startup, typically as the motor is being accelerated, commutation and switching noise masks are not employed, primarily due to the dynamically changing period between zero crossings. Due to the changing zero crossing period, attempts to perform masking operations results in oftentimes undesirably masking an actual zero crossing, which interferes with the smooth startup of the motor.
This problem has been addressed typically by employing a minimum or zero masking time after a zero crossing. The result of such zero time mask (or no mask at all) increases in torque ripple and loss of efficiency in the startup.
Another problem that exists is at switchover when operation of the motor is switched from a startup algorithm to a steady-state operation. At such switchovers, typically mechanical jolts are experienced as well as the creation of undesirable noise spikes, since typically the switchover delay is not exactly the same as the optimum commutation delay at steady-state.
In addition, brushless, sensorless motors are finding widespread use in robotics applications. This is due, in part, to the above listed advantages of such motors. It can be seen, furthermore, that the absence of brushes in the motors used in robotics arms, for example, enables their use in hazardous or explosive environments, in contrast to prior art devices.
In any such application, however, many factors exist that may produce an undesirable deceleration of the motor. For example, in the disk drive applications described, motor bearings may seize and cause the motor to decelerate. In disk drives that may be employed, for instance, in lap top computers, a bump or jar to the computer may cause the heads of the disk drive to bind, resulting in an undesired frictional force on the disk and causing an undesirable deceleration of the motor itself.
In robotics applications, a robot arm may encounter an unexpected object or an object in an unexpected place along the path of its travel. This may cause an undesirable deceleration of the motor, and, if no corrective steps are taken, may result in the current within the motor coils increasing to the point of damaging or destroying the motor. Alternatively, the robot arm may damage the object with which it comes in to contact. This is particularly disadvantageous in such applications as automotive assembly, and the like, in which relatively expensive objects may be seriously damaged by unintended contact with the robot arm.